﻿@using GameSchool.HtmlHelpers
@model GameSchool.ViewModels.Exam.SubmitAnswersViewModel
@{
    ViewBag.Title = "Taka prófið " + Model.exam.Name + " í " + Model.currentCourse.Code;
}
<h2>
    Taka prófið @Model.exam.Name í @Model.currentCourse.Code á önninni @Model.currentCourse.Semester.Year-@Model.currentCourse.Semester.SemesterOfYear</h2>
<p>
    Notaðu formið hér að neðan til þess að taka prófið @Model.exam.Name í @Model.currentCourse.Code,
    @Model.currentCourse.Name á önninni @Model.currentCourse.Semester.Year-@Model.currentCourse.Semester.SemesterOfYear.
</p>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm(htmlAttributes: new { @class = "form-horizontal" }))
{
    @Html.ValidationSummary(true, "Ekki tókst að skrá nýtt próf. Vinsamlegast leiðréttu villurnar og reyndu aftur.")
    <div>
        <fieldset>
            <legend>Prófaupplýsingar</legend>
            <div class="control-group">
                @Html.LabelFor(m => m.exam.Name, new { @class = "control-label", style = "padding-top: 0px;" }, "Heiti")
                <div class="controls">
                    <p>@Model.exam.Name</p>
                </div>
            </div>
            <div class="control-group">
                @Html.LabelFor(m => m.exam.Description, new { @class = "control-label", style = "padding-top: 0px;" }, "Lýsing")
                <div class="controls">
                    <p>@Model.exam.Description</p>
                </div>
            </div>
            <div class="control-group">
                @Html.LabelFor(m => m.exam.HoursToFinish, new { @class = "control-label", style = "padding-top: 0px;" }, "Tími til að ljúka prófi")
                <div class="controls">
                    <p>@Model.exam.HoursToFinish klst</p>
                </div>
            </div>
            <div class="control-group">
                @Html.LabelFor(m => m.exam.GradePercentage, new { @class = "control-label", style = "padding-top: 0px;" }, "Vægi í lokaeinkunn")
                <div class="controls">
                    <p>@Model.exam.GradePercentage%</p>
                </div>
            </div>
            <div class="control-group">
                @Html.LabelFor(m => m.exam.ExamQuestions.Count, new { @class = "control-label", style = "padding-top: 0px;" }, "Fjöldi spurninga")
                <div class="controls">
                    <p>@Model.exam.ExamQuestions.Count</p>
                </div>
            </div>
            @Html.Hidden("ExamQuestionCounter", Model.exam.ExamQuestions.Count)
            @foreach (var q in Model.exam.ExamQuestions)
            {
                Html.RenderPartial("SubmitQuestionPartial", q);
            }
            <div class="form-actions">
                <input type="submit" class="btn btn-primary" value="Skila prófi" />
                <a href="@Url.Action("List", new { id = Model.currentCourse.CourseID })" class="btn">
                    Til baka í prófalista</a>
            </div>
        </fieldset>
    </div>
}
<div id="myModal" class="modal hide fade">
    <div class="modal-header">
        <button class="close" data-dismiss="modal">
            ×</button>
        <h3>
            Kaupa eitt rangt svar burt</h3>
    </div>
    <div class="modal-body">
        <p>
            Hér getur þú keypt eitt rangt svar burt. Það þýðir að eitt rangt svar verður strikað
            út, líkt og í "Viltu vinna milljón".</p>
        <p>
            <strong>Spurningin er: </strong>
        </p>
        <p id="buy-wrong-answer-question">
        </p>
        <p>
            <strong>Verð: 3000 stig</strong></p>
    </div>
    <div class="modal-footer">
        <a href="#" class="btn" data-dismiss="modal">Hætta við</a> <a id="buy-wrong-answer-confirm"
            href="#" class="btn btn-success">Kaupa eitt rangt svar burt</a>
    </div>
</div>
<script type="text/javascript">
    function getPointBalance() {
        // Synchronous ajax kall til að fá stigafjöldann
        var pointsBalance = $.ajax({
            async: false,
            cache: false,
            url: '/Stats/GetStudentPointsBalance'
        }).responseText;

        return pointsBalance;
    }

    $('.buy-wrong-answer').on('click', function () {
        // Fá númerið á spurningunni sem var ýtt á
        var examQuestionId = $(this).siblings('input.exam-question-id:first').val();

        // Fá textann á spurningunni sem var ýtt á og hann settur í Modal dialogginn
        var examQuestionText = $(this).siblings('div.control-group:first').find('p.exam-question:first').text();
        $('#buy-wrong-answer-question').text('"' + examQuestionText + '"');

        // Sækja stigastöðuna
        var pointsBalance = getPointBalance();
        

        // Koma í veg fyrir að hægt sé að ýta á Confirm takkann ef stigafjöldinn er ekki nægur
        if (pointsBalance < 3000) {
            var buyConfirmButton = $('#buy-wrong-answer-confirm');
            buyConfirmButton.attr('disabled', 'disabled');
            buyConfirmButton.text('Ekki næg innistæða til að kaupa');
        }
    });
</script>
